/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package MB;

import Dao.FuncionarioDAO;
import Dominio.Funcionario;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author mayra
 */
@ManagedBean
@SessionScoped
public class FuncionarioMB {
    private Funcionario novoFuncionario;
    private List<Funcionario> listFuncionario;
    private static String sucessoCadastro = "sucessoCadastro";
    private static String erroCadastro = "erroCadastro";
    private String retorno;
    FuncionarioDAO dao = new FuncionarioDAO();
    /** Creates a new instance of FuncionarioMB */
    public FuncionarioMB() {
        listFuncionario = dao.lista();

    }

    public List<Funcionario> getListFuncionario() {
        return listFuncionario;
    }

    public void setListFuncionario(List<Funcionario> listFuncionario) {
        this.listFuncionario = listFuncionario;
    }

    public Funcionario getNovoFuncionario() {
        return novoFuncionario;
    }

    public void setNovoFuncionario(Funcionario novoFuncionario) {
        this.novoFuncionario = novoFuncionario;
    }
    
    private boolean Validar(){
        boolean retorno = true;
        /*if(this.novoFuncionario.getMatricula() != null ){
            retorno = false;
                FacesContext.getCurrentInstance().addMessage("erro", new FacesMessage("Insira a Matricula"));
        }*/
        if(this.novoFuncionario.getNome() != null && this.novoFuncionario.getNome().isEmpty()){
            retorno = false;
                FacesContext.getCurrentInstance().addMessage("erro", new FacesMessage("Insira o nome"));
        }
        if(this.novoFuncionario.getCargo() != null && this.novoFuncionario.getCargo().isEmpty()){
            retorno = false;
                FacesContext.getCurrentInstance().addMessage("erro", new FacesMessage("Insira o cargo"));
        }        
       /* if(this.novoFuncionario.getRendaBruta() != null) {
            retorno = false;
                FacesContext.getCurrentInstance().addMessage("erro", new FacesMessage("Insira a renda bruta"));
        }
        if(this.novoFuncionario.getMargemConsignavel() != null ){
            retorno = false;
                FacesContext.getCurrentInstance().addMessage("erro", new FacesMessage("Insira a margem consignável"));
        }*/

        return retorno;
    }

    public void Salvar() throws Exception{

        if(Validar()){
            
            try {
                dao.adicionar(novoFuncionario);
                retorno = sucessoCadastro;
                FacesContext.getCurrentInstance().addMessage("ok", new FacesMessage("Funcionário(a) "+ novoFuncionario.getNome() +" cadastrado(a) com sucesso "));
                novoFuncionario = new Funcionario();
            } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage("erro", new FacesMessage(e.getMessage()));
            retorno = "erro";
        }
            //this.listFuncionario.add(novoFuncionario);
            novoFuncionario = new Funcionario();
        }else {

        }
    }
}
